Allo Protocol是一個開源協議,旨在有效且透明地分配資金池,並借鑒Gitcoin在平方募資方面多年的經驗。Gitcoin grants 已通過18輪資助,分配了超過5000萬美元。 Allo協議是一個技術先進的框架,專為去中心化的資金分配和分發而設計。通過同時使用Registry、Anchor和Allo合約,該協議建立了一個生態系統,用戶可以在其中安全地管理資金、定義策略並參與一個以透明度和以用戶為中心的治理為特徵的DeFi生態系統。
Allo協議為參與者分配了不同的角色,以促進有效的治理:
Profile Owners 資料檔擁有者:使用Registry合約創建資料檔的用戶。這些資料檔是協議互動的核心,為用戶提供唯一的身份,並通過Anchor合約啟用安全的外部調用。
Allo Owner Allo擁有者:控制Allo合約的個人,具有管理資金恢復、費用參數和庫房地址的權限。他們的角色對確保協議的財務穩定至關重要。
Profile Member 資料檔成員:Registry資料檔的成員具有由資料檔擁有者定義的特定訪問權限。
Pool Creator 資金池創建者:可以使用自定義或複製策略創建新資金池的用戶。他們可以在創建資金池時指定元數據、策略地址、管理者和其他參數。
Pool Administrator 資金池管理員:對特定資金池具有管理控制權的用戶。他們可以管理資金池管理者,實現有效的資金池治理。
Pool Manager 資金池管理者:**管理特定資金池內資金的用戶。**他們可以根據資金池的策略分配和分發資金。
由以下四大合約互動產生
Registry.sol ->
提供註冊檔案管理的檔案註冊簿
Anchor.sol -> 可以接收資金/執行交易的合約。 / 使用profile的identityId和名稱生成。 /與Registry.sol中的資料檔相連。
Allo.sol-> 資金池的管理。/ 創建資金池需要來自Registry.sol 的資料檔。/ 預期一個實現BaseStrategy.sol的策略 / 預期所有與BaseStrategy.sol上的函數的互動都通過Allo.sol進行
BaseStrategy.sol -> 實作IStrategy.sol的抽象合約。/ 每個策略都應該覆寫內部函數,以被認定為有效策略。/
可以具有對策略獨特的其他函數,這些函數可以直接在策略上調用
推測:
Registry - 註冊行為+協助Allo contract
Anchor - 實際$$交易的合約 + 相依於Registry資料
Allo - 資金池創立 + 驗證Registry + 使用Basestratey
BaseStrategy - 所有募資策略選項
Registry合約是基礎性的,管理用戶資料檔的創建和證明,每個資料檔都在協議中代表一個唯一身份。
每當創建新資料檔或更新時,它都會觸發一個Anchor合約的部署。
Anchor合約作為一個隔離的飛地,允許資料檔所有者與外部地址進行安全互動,並通過Registry合約驗證所有權。
Allo合約是協議的核心,促使去中心化的資金分配和分發,處理手續費,管理資金庫,並定義訪問控制,從而建立了一個健壯的資金管理框架。
Allo Protocol通過Registry合約開始創建和管理資料檔。用戶可以創建資料檔,每個資料檔都由一個唯一的資料檔ID識別。創建時可以自定義資料檔的元數據、證明地址和成員。Registry合約確保只有經過所有權驗證的授權用戶才能操作資料檔。
Anchor合約為資料檔所有者和外部地址之間搭建了橋樑。它為資料檔所有者提供了一個安全的通道,以執行對外部合約的調用。資料檔所有者可以指定隨調用發送的本地代幣數量和數據。Anchor合約結合Registry合約來驗證資料檔的所有權,確保只有合法所有者才能訪問其功能。
協議的核心功能位於Allo合約中,該合約實現了去中心化和自動化的資金管理。在此合約中創建和管理資金池,每個資金池都有可自定義策略的資金分配和分發。用戶可以創建資金池,定義參數並設置策略,而管理員和經理控制資金的實際分配和分發。
Allo合約整合了一個全面的手續費管理系統。它允許合約所有者設置和更新手續費參數,控制資金庫地址並回收資金。這種費用結構確保了協議的可持續性和適應性。資金庫管理機制通過啟用受控資金回收來增強合約的健壯性。
預計先看Allo.sol 預期會有很多看不懂,接著看互動功能最少的 Anchor.sol、Registry.sol 再回頭看 Allo.sol 最後好好看不同 BaseStrategy.sol引用的Strategy(預計QF等策略就是集中在這邊) 最後再看一次整體架構